# Maintainer: Bruno Pagani <archange@archlinux.org>
# Contributor: Baptiste Jonglez <baptiste--aur at jonglez dot org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - set -DOPENDHT_LTO=OFF
#  - move cppunit to makedepends from checkdepends

pkgname=opendht
epoch=1
pkgver=3.1.9
pkgrel=3
pkgdesc="C++17 Distributed Hash Table (DHT) implementation"
arch=(x86_64)
url="https://github.com/savoirfairelinux/opendht"
license=(GPL3)
depends=(glibc gnutls nettle readline argon2 jsoncpp libjsoncpp.so fmt http-parser openssl)
makedepends=(git cmake msgpack-cxx asio restinio cython python-setuptools cppunit)
optdepends=('python: to use the Python bindings'
            'msgpack-cxx: linking against opendht')
_commit=4eaa53a4a6c5bee338c0363a765a68505bd75085
source=(git+${url}#commit=${_commit})
sha256sums=('a62ef74869dde75c52ae3b26d187499be58d293b41aed3730d277793ecb4a420')

pkgver() {
  cd ${pkgname}
  git describe --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./;s/-/+/'
}

build() {
  cmake -B build -S ${pkgname} \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DOPENDHT_DOCUMENTATION=OFF \
    -DOPENDHT_TESTS=ON \
    -DOPENDHT_SYSTEMD=ON \
    -DOPENDHT_SYSTEMD_UNIT_FILE_LOCATION=/usr/lib/systemd/system/ \
    -DOPENDHT_INDEX=ON \
    -DOPENDHT_PYTHON=ON \
    -DOPENDHT_HTTP=ON \
    -DOPENDHT_PROXY_SERVER=ON \
    -DOPENDHT_PROXY_CLIENT=ON \
    -DOPENDHT_PUSH_NOTIFICATIONS=ON \
    -DOPENDHT_LTO=OFF
  make -C build
}

check() {
  # https://github.com/savoirfairelinux/opendht/issues/568
  make -C build test || echo "Tests failed"
}

package() {
  make -C build DESTDIR="${pkgdir}" install
}
